#ifndef MODULE_PORT_H
#define MODULE_PORT_H

#include <QFrame>

#include "module/property/module_propertys.h"

namespace Ui {
class module_port;
}

struct module_port_style {
    QString name;
    QString InOut;
    int datasize;
    QString type;//(wire or reg)
};

class module_port : public QFrame, public module_propertys
{
    Q_OBJECT

public:
    explicit module_port(QWidget *parent = nullptr);
    ~module_port();

    void set_style(module_port_style style);
    void set_name(QString name);
    QString get_name();
    void set_InOut(QString InOut);
    QString get_InOut();
    void set_datasize(int datasize);
    int get_datasize();
    void set_type(QString type);
    QString get_type();

private slots:
    void on_pushButton_clicked();

private:
    Ui::module_port *ui;

    module_port_style port_style;
};

#endif // MODULE_PORT_H
